<?php

class Application_Form_Ofertas extends Sgit_Form
{
    
    public function init_form()
    {
              
              
         
        $msg='Si una oferta afecta a dos Datacenters es preferible abrir dos ofertas, en caso contrario cerciorese que añade a las personas necesarias, facilities, servicio eléctrico, servicio mmr stc.';
     
 
        $this->setDescription($this->getDescription().'<br>'.$msg);
              
              
              
         $request = Zend_Controller_Front::getInstance()->getRequest();
         $auth    = Zend_Auth::getInstance()->getIdentity();
         $id=$request->getParam('id');
         
     
         $cliente=new Zend_Form_Element_Text('cliente');
         $cliente ->setLabel('Cliente')
                ->setRequired(true)
                ->addFilter('StringTrim')
                ->addValidator('StringLength', false,array(0, 200));
         $this->addElement($cliente); 
     

		 $area=new Sgit_Form_Element_Select_Xml('OfertasAreas');
         $area->setRequired(true)
             ->addFilter('StringTrim');
         $this->addElement($area);


         $pep=new Zend_Form_Element_Text('pep');
         $pep ->setLabel('PEP')
                ->setRequired(true)
                ->addFilter('StringTrim')
                ->addValidator('StringLength', false,array(0, 20));
         $this->addElement($pep);      
         
         
                
         $dc=new Sgit_Form_Element_Select_Datacenter('id_zona');
         $dc->addFilter('StringTrim'); 
         $this->addElement($dc);
         

        
         
         $ubicacion=new Zend_Form_Element_Text('ubicacion');
         $ubicacion ->setLabel('Otra Ubicación')
                ->addFilter('StringTrim')
                ->addValidator('StringLength', false,array(0, 100));
        
         $this->addElement($ubicacion);   
            
            
         $fecha_prevista=new Sgit_Form_Element_Fecha('f_prevista',array('label'=>'Fecha Prevista Implantación'));
         $fecha_prevista->setRequired(true);
         $this->addElement($fecha_prevista);
         
    
         $responsable=new Sgit_Form_Element_Select_Usuarios('id_usuario', array('label' => "Responsable"),null,array('estado=?'=>1));      
         $responsable->setRequired(true);   
         
         $this->addElement($responsable);       

         $model=new Application_Model_Usuario();
         $options=$model->getAssoc('id','nombre',array('estado = ?'=>1),'nombre');

         $grupos = new Zend_Form_Element_MultiCheckbox('accesos');
         $grupos->setMultiOptions($options)
            ->setLabel('Usuarios con acceso')
            ->setAttrib('size',25); 
         $this->addElement($grupos);
    
         $racks= new Sgit_Form_Element_Num('racks');
         $racks ->setLabel('Nº Racks') 
                 ->addFilter('StringTrim')
                 ->addValidator('StringLength', false,array(0, 2));     
         $this->addElement($racks); 
         
         $superficie=new Zend_Form_Element_Text('superficie');
         $superficie ->setLabel('Superficie m2')
                ->addFilter('StringTrim')
                ->setAttrib('readonly',true)
                ->addValidator('StringLength', false,array(0, 10));       
         $this->addElement($superficie);  
         
         $disponibilidad=new Zend_Form_Element_Text('disponibilidad');
         $disponibilidad ->setLabel('Disponibilidad W/m2')
                ->addFilter('StringTrim')
                ->setAttrib('disabled',true)
                ->addValidator('StringLength', false,array(0, 10));       
         $this->addElement($disponibilidad);  
         
         $disponibilidad_rack=new Zend_Form_Element_Text('disponibilidad_rack');
         $disponibilidad_rack ->setLabel('Disponibilidad W/Rack')
                ->addFilter('StringTrim')
                ->setAttrib('disabled',true)
                ->addValidator('StringLength', false,array(0, 10));       
         $this->addElement($disponibilidad_rack);
         
         $potencia=new Zend_Form_Element_Text('potencia');
         $potencia ->setLabel('Potencia kW')
                ->addFilter('StringTrim')
                ->setAttrib('readonly',true)
                ->addValidator('StringLength', false,array(0, 10));       
         $this->addElement($potencia);
         



         
         
         if(!$id)
         {
           $ce= new Zend_Form_Element_Text('estado');
           $ce->setValue('Abierta')->setAttrib('readonly',true);
         } else{
            $ce= new Sgit_Form_Element_Select_Xml('OfertasEstado');
         }
         $ce->setLabel('Estado')->setRequired(true);
         $this->addElement($ce);    
         
         
         /*
         $prioridad= new Sgit_Form_Element_Radio_Priority('prioridad');
         $prioridad->setRequired(true);
         $this->addElement($prioridad);    
            */
            
         $coste= new Sgit_Form_Element_Num('coste');
         $coste->setLabel('Coste Estimado');
         $this->addElement($coste); 
         
         $venta= new Sgit_Form_Element_Num('venta');
         $venta ->setLabel('Venta Estimada');
         $this->addElement($venta);   
            
            
            
         $notas=new Zend_Form_Element_Textarea('notas');
         $notas->setLabel('Notas')
                ->setAttribs(array('rows'=>5,'cols'=>30))
                ->addFilter('StringTrim');
         $this->addElement($notas);    
            
            
         $this->addDisplayGroup(
            array('cliente', 
                'id_area_oferta',
                'pep',
                'id_zona',
                'ubicacion',
                'f_prevista',
                'f_entrega',
                'id_usuario',
                'accesos'
                ),
            'left'
         );    
            
         $this->addDisplayGroup(
            array('racks', 
                'superficie',
                'disponibilidad',
                'disponibilidad_rack',                 
                'potencia',
                'estado',
                'prioridad',
                'coste',
                'venta',
                'notas'
                
                ),
            'right'
         ); 


  
       $this->setElementDecorators(array(
		    'ViewHelper',
		   'Errors',
		    array(array('data' => 'HtmlTag'),	array('tag' => 'td', 'class' => 'element')   ),
		    array('Label', array('tag' => 'td')),
		    array(array('row' => 'HtmlTag'), array('tag' => 'tr')),
	   ));
       
       
       $this->setDisplayGroupDecorators(array(
            'FormElements',
            array("HtmlTag", array("tag" => "table")),
            array(
                array('data' => 'HtmlTag'),
                array('tag' => 'td', 'class' => 'group', 'width'=>'50%')
            ),
        ));
   



    }
}
